package com.antis.olsl.data.net;

import com.antis.olsl.data.response.GetBrandInventoryDetailResp;
import com.antis.olsl.data.response.GetBrandInventoryListResp;
import com.antis.olsl.data.response.GetCategoryInventoryDetailResp;
import com.antis.olsl.data.response.GetCategoryInventoryListResp;
import com.antis.olsl.data.response.GetDistributionSlipListRes;
import com.antis.olsl.data.response.GetIntroductionSlipListRes;
import com.antis.olsl.data.response.GetPosTurnoverDetailResp;
import com.antis.olsl.data.response.GetPosTurnoverResp;
import com.antis.olsl.data.response.GetProductInventoryDetailResp;
import com.antis.olsl.data.response.GetProductInventoryListResp;
import com.antis.olsl.library.net.api.service.BaseApiServer;

import io.reactivex.Flowable;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface ApiServer extends BaseApiServer {

    String API_SCHEDULE = "api-schedule";

    @POST(API_LOGISTICS + "/app/purchase/selectPurchaseIntroduceList")
    Flowable<GetIntroductionSlipListRes> selectPurchaseIntroduceList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryProductInventoryList")
    Flowable<GetProductInventoryListResp> getProductInventoryList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryBrandInventoryList")
    Flowable<GetBrandInventoryListResp> getBrandInventoryList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryCategoryInventoryList")
    Flowable<GetCategoryInventoryListResp> getCategoryInventoryList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryProductInventoryDetail")
    Flowable<GetProductInventoryDetailResp> getProductInventoryDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryBrandInventoryDetail")
    Flowable<GetBrandInventoryDetailResp> getBrandInventoryDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/queryCategoryInventoryDetail")
    Flowable<GetCategoryInventoryDetailResp> getCategoryInventoryDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/getPosTurnover")
    Flowable<GetPosTurnoverResp> getPosTurnover(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/getPosTurnoverDetail")
    Flowable<GetPosTurnoverDetailResp> getPosTurnoverDetail(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);

    @POST(API_SCHEDULE + "/app/report/selectDistributionList")
    Flowable<GetDistributionSlipListRes> getDistributionList(@Body String filed, @Query("access_token") String accessToken, @Query("type") int type);
}
